Generally, computing systems include some type of data storage and typically, many different types of data storage. For example, a computing system may include a solid-state storage and a hard drive or a set of hard drives. These different storage devices may each have storage partitions, or logical allocations of storage. Storage partitions are typically established at the time the associated storage device is initially used or configured. Thereafter, it may be difficult to rearrange or resize partitions associated with the storage device. As such, larger than necessary partition sizes may be chosen initially, resulting in wasted space on the associated storage device.
The use of virtual disks or virtual storage may mitigate against wasted and/or unutilized space on storage devices. One type of virtual disk technology or virtual storage technology is known as thin provisioning. Thin provisioning offers a different approach to storage provisioning. For example, a storage controller may allocate capacity to the thin provisioned storage volume as an application writes data over time, not upfront at the time of storage volume creation. In other words, thin provisioning enables on demand allocation of storage, rather than the upfront allocation of storage that is typically needed when a physical storage medium if first initialized. Therefore, thin provisioning may reduce unused storage space and improve storage utilization. For example, with thin provisioning, storage capacity utilization efficiency can be improved, while incurring little administrative overhead. Thus, thin provisioning may enable organizations to delay storage purchases and save on environmental costs.
While thin provisioning may significantly improve storage utilization, it may be difficult to accurately calculate free space (i.e., storage available for applications and their files) across a plurality of thin provisioned storage entities or virtual disks. For example, a plurality of thin provisioned storage entities may be allocated to a solid-state storage and a hard drive or set of hard drives. In conventional systems, each of the plurality of thin provisioned storage entities tracks its own free space. However, those thin provisioned storage entities do not generally share their free space with other thin provisioned storage entities or virtual disks. Therefore, free space determined by thin provisioned storage entities or virtual disks may not properly reflect the actual free space of the physical storage(s) hosting the thin provisioned storage entities or virtual disks.
It is with respect to these considerations and others that the disclosure made herein is presented.